permutations leetcode 46